<?php 
//@access check
	if (!defined('FREEY_LIB'))    
		die('Hacking attempt');

/**
 * class_note
 *
 * @auther		FreeYadmin <FreeYadmin@gmail.com>
 * @update		none
 * @package		FreeY 
 */	
class FreeY_Sql_Expr_Where extends FreeY_Sql_Expr_Abstract
{
	const SQL_OR = 'OR';
	const SQL_AND = 'AND';

	/**
	 * property_note
	 * 
	 * @type	string
	 */
	protected $_expr = ' ';

	/**
	* public_note
	* 
	* @param	$var		array		note
	* @return	$ret		array		note
	*/
	public function addOr($expr, $is_sub = false)
	{
		if (is_object($expr) && 'FreeY_Sql_Expr_Where' == get_class($expr)) {
			$expr = $expr->toString();
		}
		if ($this->_exprs) {
			$or = self::SQL_OR . ' ';
		}

		if ($is_sub) {
			$expr = $or .$this->sub($expr);
		} else {
			$expr = $or . $expr;
		}

		return $this->add($expr);
	}

	/**
	* public_note
	* 
	* @param	$var		array		note
	* @return	$ret		array		note
	*/
	public function addAnd($expr, $is_sub = false)
	{
		if (is_object($expr) && 'FreeY_Sql_Expr_Where' == get_class($expr)) {
			$expr = $expr->toString();
		}
		if ($this->_exprs) {
			$or = self::SQL_AND . ' ';
		}
		if ($is_sub) {
			$expr = $or . $this->sub($expr);
		} else {
			$expr = $or . $expr;
		}

		return $this->add($expr);
	}

	/**
	* public_note
	* 
	* @param	$var		array		note
	* @return	$ret		array		note
	*/
	public function sub($expr)
	{
		return ('(' . $expr . ')');
	}

}//class end**********
//file end--------------------------------------------------------->